ソフトウェアの多言語対応の段階の一つで、国際化されたソフトウェアをある特定の言語に対応させること。その言語に対応したメニュー表示などを行ったり、その言語特有の処理などを追加するといった修正を行います。その前段階として、ソフトウェアに様々な言語で利用するための設計や仕様などを組み込むことを国際化(インターナショナリゼーション:internationalization、I18N)といいます。そして、様々な言語への対応を組み込み、利用者が自分の使用する言語にあわせて設定を切り替えて使用できるようにすることを多言語化(マルチリンガライゼーション:multilingualization、M17N)といいます。
Linux では Locale を使ってユーザーがどの言語を使うか定義します。同じように locale は使われる文字セットも定義するので、正しい locale を設定することは言語が非 ASCII 文字を含んでいる場合に特に重要です。
ロケールカテゴリ
ロケールカテゴリの種類は次のとおりです。
これらすべてに同じ値を設定する場合は、環境変数のLANGやLC_ALLに設定します。
環境変数のLC_ALLに設定されていれば、すべたのカテゴリでLC_ALLの設定が適用されます。
環境変数のLANGに設定されていれば、個々のカテゴリに設定がなければLANGの設定を適用しますが、個々のカテゴリに設定があればそちらを適用します。
現在のロケールを確認するには、locale コマンドを使用します。
● locale コマンド構文
locale [オプション] |
|
-a | システムがサポートしているロケール一覧を表示します。 |
-m | 文字マッピング一覧を表示します。 |
ロケール設定の確認
$ locate LANG=ja_JP.UTF-8 LC_CTYPE="ja_JP.UTF-8" LC_NUMERIC="ja_JP.UTF-8" LC_TIME="ja_JP.UTF-8" LC_COLLATE="ja_JP.UTF-8" LC_MONETARY="ja_JP.UTF-8" LC_MESSAGES="ja_JP.UTF-8" LC_PAPER="ja_JP.UTF-8" LC_NAME="ja_JP.UTF-8" LC_ADDRESS="ja_JP.UTF-8" LC_TELEPHONE="ja_JP.UTF-8" LC_MEASUREMENT="ja_JP.UTF-8" LC_IDENTIFICATION="ja_JP.UTF-8" LC_ALL= |
メッセージのロケールを設定
$ export LC_MESSAGES=en_US.UTF-8 |
一時的にfindのmanマニュアルの言語を英語に変更
$ LANG=C man find |
Linuxでシステム全体の文字コードを変更するには、/etc/sysconfig/i18n を修正します。
UTF-8LANG="ja_JP.UTF-8" SUPPORTED="ja_JP.UTF-8:ja_JP:ja" |
文字コードの変換には、iconv コマンドを使用します。
● iconv コマンド構文
iconv [オプション] [入力ファイル] |
|
-f 変換元コード | 入力元の文字コードの指定 |
-t 変換先コード | 出力先の文字コードの指定 |
-l | 扱える文字コードの一覧を表示 |
EUC-JPで書かれたファイルin.txtをSHIFT_JISのout.txtに変換する
$ iconv -f EUC-JP -t SHIFT_JIS in.txt > out.txt |
Linux で、システムのタイムゾーンを設定する方法 GUI なしの Linux でシステム自体のタイムゾーンをコンソール(コマンドライン)だけで設定するには、ルート(root)権限が必要である。以下のようにする。
# date 2013年 6月 4日 火曜日 20:28:10 JST |
ルートでログインします。現在のタイムゾーンを確認するには date コマンドを使用します。date と入力して Enter キーを押すと、Sat Oct 12 00:00:00 PDT 2006 のように表示されます。この場合は PDT がタイムゾーンで、PDT とは Pacific Daylight Saving Time (太平洋標準時の夏時間)の略で、米国の場合は夏時間は PDT と表記されます。夏時間でない場合は PST です。MDT/MST、CDT/CST、EDT/EST なども同様です。JSTなら日本標準時 です。
/usr/share/zoneinfo にディレクトリを変更します。このディレクトリに設定できるタイムゾーン情報が集まっています。
日本の場合はそのまま Japan というファイルが見つかりますが、Asia というディレクトリの下に Tokyo というファイルも見つかるはずです。米国に設定したい場合は America の中から選択します。
ここで選んだファイルを /etc/localtime にコピーすればいいのですが、まずは mv /etc/localtime /etc/localtime.org などとしてから、JST / 日本(東京)の場合は、
# cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime または、 # ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime |
とします。
tzselect コマンドや tzconfig コマンドを使用すると、タイムゾーンの設定ができます。 tzselect は対話的に地域を指定して TZ に設定する内容をナビゲートしてくれます。 tzconfigコマンドを利用すると、/etc/localtimeと/etc/timezoneの二つの設定が一度でできます。
環境変数 TZ を設定することでもタイムゾーン情報の設定ができます。
$ export TZ="Asia/Tokyo" |
www.it-shikaku.jp
[Top] | |
[講義目次] | |
[1.07:ネットワーク基礎] | |
[1.08:システム管理] | |
[1.08.1 アカウント管理] | |
[1.08.2 ジョブスケジューリング] | |
[1.08.3 ローカライゼーションと国際化] | |
[1.09:重要なシステムサービス] | |
[講義検索] | |
[リンク集] |